A general explanation of 3D CAD software, including an explanation with respect to 3D CAD software modeling, as well as the process by which a modeled 3D shape can be converted into an actual 3D object (“3D printing”), follows.
Traditionally, 3D objects are constructed and edited in 3D CAD modeling software. A large amount of technical knowledge is needed to create a desired 3D object, both regarding 3D CAD modeling in general as well as the specific 3D CAD software to be used. Such knowledge includes, for example, knowledge about the elemental components of 3D models. When modeling using 3D software, a user starts with an empty three-dimensional modeling space. A variety of different types of objects, each having up to three dimensions may be created and placed in the 3D space, including Points (0-dimensional objects); Lines and line segments (1-dimensional objects); Curves (2- or 3-dimensional objects); Planes (2-dimensional objects); Curved surfaces (3-dimensional objects); Regular 2-dimensional shapes such as squares, circles, etc; and Regular 3-dimensional shapes such as spheres, cubes, cylinders, etc. These objects may be referred to as “geometric primitives.” It should be noted that some primitives may be a collection of simpler primitives. For example, a triangle may be a collection of points.
These items are called “primitives” because they consist of only the most fundamental geometric shapes. While they may be used alone to construct a very simplistic “scene” of objects, modeling of more complex, realistic 3D shapes requires more than just creation and placement of these primitives. This is where technical expertise is needed.
To create a desired object, primitives and 3D models are manipulated using a number of different operations. Some examples of such operations include “extrusion”, in which a 2-dimensional shape is extended in a specific direction from the plane defined by the 2-dimensional shape to create a 3-dimensional version of that shape; “subtraction”, in which a three-dimensional object is “subtracted” from another three-dimensional object to create a new shape; and vertex editing, in which individual points or vertices of a 3D model are repositioned to alter the shape of the 3D model. These are simply examples, and a very large number of these types of operations may be performed. Specialized techniques for using these operations in very specific ways have also been developed and are generally known to people having a high degree of 3D modeling skill. This high level of knowledge requirements leads to a very high learning curve, which puts accurate or useful 3D modeling out of the reach of unskilled persons selected by the user.
In addition to creation of 3D computer models, a user may also “3D print” their 3D models. “3D printing” consists of providing a 3D model to a 3D printing software, which issues instructions to a 3D printer, which creates a physical object having the same shape as the 3D model. Not all 3D models created using 3D modeling software may be 3D printed. There are a large number of requirements for a 3D model to be 3D printable. The most important requirement is that the model is solid. Additional requirements may include the following: 1) Surface normals in the 3D model must point in correct directions—specifically, outer surfaces must have surface normals which point in an outward direction, while inner surfaces must have surface normals pointing in an inward direction; 2) The 3D model must be free of holes and open edges; 3) Duplicate surfaces should not exist; 4) To keep the part from breaking once it is printed, details should not be too small; 5) To save printer material and reduced space, it is beneficial to “hollow” the part. Note that requirements may vary with the CAD software and 3D printing system.
Thus, in addition to the skills required for accurately creating 3D models, a user must be familiar with the requirements for creating 3D printable models in order to create an actual object from a created 3D model, and must have the expertise required to edit the model to conform to those requirements.
There have been attempts in the past to provide software permitting users with little or no technical knowledge to generate 3D models. One example is a software called Rhonda.
Rhonda is a computer software allowing a user to “draw” three-dimensional artistic drawings. As shown in the videos in the rhondaforever.com website, Rhonda allows a user to create line drawings in three dimensions by allowing a user to aggregate a series of two-dimensional line drawing elements. To do this, a user draws two-dimensional drawing elements into the plane of the screen or drawing surface. These two-dimensional drawing elements are added into an overall three dimensional line drawing object, which can be moved and rotated such that a user may insert drawing elements at any angle.
There are a number of drawbacks with the Rhonda software. First, it appears that Rhonda only permits creation of line drawings. Solid objects cannot be created with Rhonda. Rhonda would therefore not lend itself well to the process of 3D printing. Second, Rhonda is a standalone program and is not built within a larger CAD package, so it is very limited in terms of working within a more complex 3D CAD environment. Third, the interface for Rhonda uses simultaneous mousing and drawing which can be confusing for users. Finally, drawing using Rhonda is time consuming, as all lines in the drawing are explicitly specified by a user. Thus, while technical knowledge is not a requirement, the creation of aesthetically pleasing drawings is a time consuming process.